In a contact center agents may be called upon to handle various customer issues. An agent may be trained in one or more skills, and the agent may have varying degrees of proficiency in each of the skills. When an end user contacts the contact center for help with an issue, it is advantageous to connect the end user with an agent who is highly proficient in skills related to the issue, but all such agents may be occupied, and another agent, with inferior proficiency, may be available. In such a situation, the contact center routing system must decide whether to connect the end user immediately to the available agent, or to wait until a more proficient agent becomes available. Thus, there is a need for an approach to routing in a contact center with multi-skilled agents.